support building with old version of bytestring
authorJoey Hess <joeyh@joeyh.name>
Fri, 14 Mar 2025 18:44:22 +0000 (14:44 -0400)
committerJoey Hess <joeyh@joeyh.name>
Fri, 14 Mar 2025 20:44:27 +0000 (16:44 -0400)
Annex/Locations.hs

index 7cc52d96881ff70884e675fec267c3372aa8b0f5..c4347de4d6230b12f551f627ce47c42b70549501 100644 (file)
@@ -6,6 +6,7 @@
  -}
 
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
 
 module Annex.Locations (
        keyFile,
@@ -744,7 +745,7 @@ reSanitizeKeyName = preSanitizeKeyName' True
 keyFile :: Key -> OsPath
 keyFile k = 
        let b = serializeKey'' k
-       in toOsPath $ if SB.any (`elem` needesc) b
+       in toOsPath $ if anyneedesc b
                then mconcat $ map esc (SB.unpack b)
                else b
   where
@@ -757,6 +758,12 @@ keyFile k =
 
        needesc = map (fromIntegral . ord) ['&', '%', ':', '/']
 
+#if MIN_VERSION_bytestring(0,11,3)
+       anyneedesc = SB.any (`elem` needesc)
+#else
+       anyneedesc = any (`elem` needesc) . SB.unpack
+#endif
+
 {- Reverses keyFile, converting a filename fragment (ie, the basename of
  - the symlink target) into a key. -}
 fileKey :: OsPath -> Maybe Key